Fix live migration w/ shadow2.
authorSteven Hand <steven@xensource.com>
Thu, 17 Aug 2006 19:30:05 +0000 (20:30 +0100)
committerSteven Hand <steven@xensource.com>
Thu, 17 Aug 2006 19:30:05 +0000 (20:30 +0100)
Signed-off-by: Steven Hand <steven@xensource.com>
xen/arch/x86/traps.c

index 7a5d2f868af76b876b791f90ae044db094bba8df..b25fa9d05c2f77a6b7f583cb639c68e73dd6cc40 100644 (file)
@@ -890,8 +890,9 @@ static int fixup_page_fault(unsigned long addr, struct cpu_user_regs *regs)
 
     if ( VM_ASSIST(d, VMASST_TYPE_writable_pagetables) &&
          guest_kernel_mode(v, regs) &&
-         ((regs->error_code & (PGERR_write_access|PGERR_page_present)) ==
-          (PGERR_write_access|PGERR_page_present)) &&
+         /* Do not check if access-protection fault since the page may 
+            legitimately be not present in shadow page tables */
+         ((regs->error_code & PGERR_write_access) == PGERR_write_access) &&
          ptwr_do_page_fault(d, addr, regs) )
         return EXCRET_fault_fixed;